package 面向对象编程基础;

public class Main {
    public static void main(String[] args) {

    }
}


/**
 类定义
 一，
 [类修饰符] class 类名 [extends 父类名] [implements 接口名1,接口名2,...]{     // 类声明
                // 类体
     }
 二,
 class 类名{
 // 定义成员变量
 // 定义成员方法
 }

 // 成员变量
 语法格式:
 [修饰符] 数据类型 变量名 [= 值];

 // 成员方法
 语法格式:
 [修饰符] 返回值类型 方法名(参数列表)[throws 异常类型1,异常类型2,...]{
     方法体
 }

 // 参数列表
 参数列表是指方法的输入，即方法的参数。参数列表由参数类型和参数名组成，多个参数之间用逗号隔开。
 参数列表的格式如下：
 viod setAge(int age,int year){

 this用法
 1.当成员变量的名字和局部变量的名字相同时，如果要在方法中访问成员变量，可以使用this关键字。
 class Student{
     int age;                           // 定义成员变量
     public void setAge(int age){       // 定义成员方法
         this.age=age;                  // 使用this关键字，引用当前对象的成员变量age
     }
 }
 2.在方法体中，通过this 关键字可访问当前类的成员变量和方法。
 class Student{
     int age;                           // 定义成员变量
     public void setAge(int age){       // 定义成员方法
         this.age=age;                       // 使用this关键字，引用当前对象的成员变量age
     }
     public void showAge(){       // 定义成员方法
        this.setAge(20);          // 使用this关键字访问成员方法
        System.out.println(this.age);
     }
 }
 3.辅助调用类的构造方法，尤其是当前构造方法有多个时。但要注意的是，this() 语句前不能有其他语句。
 class Student{
    String name;            // 定义成员变量
    Student(String name){   // 定义有参构造方法
        this.name=name;     //  使用this关键字，引用当前对象的成员变量name
    }
    Student(){              // 定义无参构造方法
        this("张三");        // 通过this关键字调用有参构造方法，并将参数“张三”赋给name
    }
 }=、】【
 */
// 定义一个学生类
class S {
    // 定义成员变量
    String name = "张三";    // 定义学生姓名，并赋予值为“张三“
    int age;                // 定义学生年龄，默认初值为0
    float score;            // 定义学生成绩，默认初值为0.0
    void display() {
        System.out.println("姓名：" + name);
        System.out.println("年龄：" + age);
        System.out.println("成绩：" + score);
    }
    public float getScore() {          // 定义一个方法，用于获取学生的成绩
        return score;                  // 返回学生的成绩
    }
}

class StudentTest {
    String name;      // 定义学生name
    int age;          // 定义学生年龄age
    float score;      // 定义学生成绩score
    StudentTest(){    // 定义无参构造方法
        name = "张三";   // 给name赋值
        age = 20;       // 给age赋值
        score = 90.0f;  // 给score赋值
    }
}


class StudentTest2 {
    String name;
    int age;
    float score;
    StudentTest2(String name, int age, float score) {     // 定义有参构造方法
        this.name = name;   // 将传递过来的参数赋值给name
        this.age = age;     // 将传递过来的参数赋值给age
        this.score = score;  // 将传递过来的参数赋值给score
    }
}






